#!/bin/sh

# Slackware build script for Tome

# Written by David Melik <dchmelik @ gmail dot com>.
# with help from a friend.
# Partly based on Marshall Scott's Angband SlackBuild.

PRGNAM=tome
VERSION=${VERSION:-235}
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
fi

set -e

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION-src
tar xvf $CWD/$PRGNAM-$VERSION-src.tar.bz2
cd $PRGNAM-$VERSION-src
chown -R root:root .
find . \
 \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
 -exec chmod 755 {} \; -o \
 \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
 -exec chmod 644 {} \;

# make use of our CFLAGS
sed -i "s/-O1/$SLKCFLAGS/g" src/makefile.std

cd src
  make \
    -f makefile.std \
    BINDIR=/usr/games \
    LIBDIR=/var/games/tome

  make \
    -f makefile.std \
    BINDIR=/usr/games \
    LIBDIR=/var/games/tome \
    DESTDIR=$PKG \
    install
cd -

# We'll kill the "delete.me" files in the package; probably these are left so
# that lesser package management tools don't choke on empty directories
find $PKG -name "delete.me" | xargs rm -f
find $PKG -name ".cvsignore" | xargs rm -f

# Now let's prevent upgrades from clobbering any existing datafiles
mv $PKG/var/games/tome/apex/scores.raw \
  $PKG/var/games/tome/apex/scores.raw.new

mkdir -p $PKG/usr/share/{applications,pixmaps}
cp $CWD/tome.png $PKG/usr/share/pixmaps
cp $CWD/tome.desktop $PKG/usr/share/applications

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a changes.txt credits.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
